var mongoose = require('mongoose');
// 连接 直接连接到 数据库
mongoose.connect('mongodb://localhost/demo',{
  useNewUrlParser: true,
  useUnifiedTopology:true
});

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  // we're connected!
  console.log('我连接上了')
});

// schema 模式
// 映射了 当前数据库中 一个集合（表），schema我们可以定义这个集合中的所有的字段以及字段的验证规则
// 创建一个user表
const { Schema } = mongoose
const userSchema = new Schema({
  userName:String, // 只验证 当前字段的数据类型
  age: { // 要验证多个 必须是对象 type类型 required必须上传
    type: Number,
    required: true
  }
})

// model 模型  集合实例对象 （model是基于 schema）对于集合的增删改查 方法在 model上
const userModel = mongoose.model('qf_users', userSchema)
// 表名 最好是 复数，如果有前缀 

// 增加数据
/* userModel.insertMany({
  userName:"小明",
  age:10,
  a:10
},(err,res)=>{
  // 错误回调优先
  if(err){
    // 出错了
    
  }
  console.log(res)
}) */

/* userModel.insertMany([
  {
    userName:"小强",
    age:20
  },
  {
    userName:"小花",
    age:18
  }
]).then(res=>{
  console.log(res)
}).catch(err=>{
  console.log('出错了')
}) */

userModel.find({
  age:{
    $gt:18
  }
}).then(res=>{
  console.log(res)
}).catch(err=>{
  console.log('查询失败')
})